package tp3.pages.java;

import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.panel.FeedbackPanel;

import tp1.ObjetoDragonBall;
import tp1.Punto;
import tp1_Model.Mapa;

public abstract class CrearObjetoDragonBallPage extends GeneralPage {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	protected ObjetoDragonBall objetoDragonBall;

	Label lblNombre = new Label("lblnombrepersonaje", "Nombre o Cantidad de esferas:      ");
	TextField<String> nombre = new RequiredTextField<String>("nombre");
	Label lblCasillero = new Label("lblCasillero", "Casillero :             ");

	public Button getBotonGuardar() {
		return botonGuardar;
	}

	public void setBotonGuardar(Button botonGuardar) {
		this.botonGuardar = botonGuardar;
	}

	DropDownChoice<Punto> casillero = new DropDownChoice<Punto>("punto", Mapa.getInstance().casillerosLibres());
	TextField archivo = new TextField("Image");
	FeedbackPanel panelDeErrores = new FeedbackPanel("feedbackPanel");
	Button botonGuardar = new Button("guardar") {

		private static final long serialVersionUID = 1L;

		@Override
		public void onSubmit() {
			Mapa mapa = Mapa.getInstance();
			Integer casillero = objetoDragonBall.getPosicion();
			ObjetoDragonBall obj = objetoDragonBall;
			mapa.crearObjetoDragonBallEn(obj, casillero);
			this.setResponsePage(HomePage.class);
		}
	};

	public FeedbackPanel getPanelDeErrores() {
		return panelDeErrores;
	}

	public void setPanelDeErrores(FeedbackPanel panelDeErrores) {
		this.panelDeErrores = panelDeErrores;
	}

	public Label getLblNombre() {
		return lblNombre;
	}

	public void setLblNombre(Label lblNombre) {
		this.lblNombre = lblNombre;
	}

	public TextField<String> getNombre() {
		return nombre;
	}

	public void setNombre(TextField<String> nombre) {
		this.nombre = nombre;
	}

	public Label getLblCasillero() {
		return lblCasillero;
	}

	public void setLblCasillero(Label lblCasillero) {
		this.lblCasillero = lblCasillero;
	}

	public DropDownChoice<Punto> getCasillero() {
		return casillero;
	}

	public void setCasillero(DropDownChoice<Punto> casillero) {
		this.casillero = casillero;
	}

	public TextField getArchivo() {
		return archivo;
	}

	public void setArchivo(TextField archivo) {
		this.archivo = archivo;
	}

}
